package Arrays101.Day05;

public class Day05_5 {
    public static void main(String[] args) {
        int i = removeElement(new int[]{3, 2, 2, 3}, 3);
        System.out.println(i);
    }

    /**
     * Remove Element
     *
     * Given an array nums and a value val,
     * remove all instances of that value in-place and return the new length.
     *
     * Do not allocate extra space for another array,
     * you must do this by modifying the input array in-place with O(1) extra memory.
     *
     * The order of elements can be changed.
     * It doesn't matter what you leave beyond the new length.
     * @param nums
     * @param val
     * @return
     */
    public static int removeElement(int[] nums, int val) {
        int temp=0;
        for (int i = 0; i < nums.length; i++) {
            if (nums[i]!=val){
                nums[temp++]=nums[i];
            }
        }
        return temp;
    }
}
